#ifndef __HEAD_H__
#define __HEAD_H__

// 在 .h 文件中 只能声明 不能定义
#include <stdio.h>

// 宏函数   错误检查
#define ERRLOG(x) do \
{ \
    printf("%s 文件:%s 行号:%d\n" , x , __FILE__ , __LINE__ ); \
} while (0);


// 宏函数   比对大小
#define MAX(val_1 , val_2) val_1 > val_2 ?  val_1 : val_2

// 宏函数   类型检查
#define Type_test(x) _Generic((x) ,\
    int: printf("单精度浮点型\n"),\
    float: printf("单精度浮点型\n") ,\
    double: printf("双精度浮点型\n") ,\
    char: printf("字符型\n") \
)

// 在.h 文件中编写的函数 不宜过大
inline int max(int val_1 , int val_2)
{   
    if(val_1 > val_2)
    {
        return val_1;
    }

    if(val_1 < val_2)
    {
        return val_2;
    }

    if(val_1 == val_2)
    {
        return val_1;
    }
}


#endif